
/**存放所有的事件枚举值
 * 每个枚举需指定起始的Index,防止冲突
*/
export namespace EventTypes {
    /**SDK专属 */
    export enum SDKEvents {
        Index = 0,
        InitSdkFinished,
        //
        ShowBanner,
        HideBanner,
        ShowVideo,
        ShowInsertAd,
        ShowCustomAd,
        HideCustomAd,
        Share,
        ExitApp,

        //---- 通知游戏逻辑部分
        VideoComplete,         //视频播放完成
        ShareComplete,         //主动分享完成

        //--硬件部分
        ShortVibration,         //短震动
        LongVibration,          //长震动
        //TT
        StartRecord,            //头条：开始录屏
        PauseRecord,            //头条：暂停录屏
        ResumeRecord,           //头条：继续录屏
        StopRecord,             //头条：结束录屏
        RecordSaved,            //头条：录制视频保存成功
        ShareRecord,            //头条：分享录屏
        CheckSiderbar,          //头条：检查侧边栏
        NavigateToScene,        //头条：跳转到侧边栏
        GetOnShowMsg,           //头条：获取回到前台的事件
        SetOnShowCallBack,      //头条：设置回到前台的事件回调

        // wx
        ServiceMsg,             //微信：服务消息
        ShareImageMenu,         //微信：分享图片
        SetFeedbackBtn,         //微信：设置反馈按钮

        // 授权           
        CheckUserInfoAuth,       // 检查用户授权     
        HideRankAuthBtn,         // 隐藏排行榜授权按钮
        GetUserInfo,             // 获取用户信息
        GetUserCity,             // 获取用户所在城市
        // 好友排行
        GetFriendCloudStorage,   // 获取好友排行
        SetUserCloudStorage,     // 保存自身排行数据        

        // --上报事件-

        /** 进入游戏 */
        LoadFinish,
        /** 引导步骤 */
        GuideStep,
        /** 跳过引导 */
        SkipGuide,
        /** 完成新手关卡 */
        FinishGuide,
        /** 分享 */
        ShareReport,

        // CXSDK 上报日志
        /** 进入关卡 */
        EnterStage,
        /** 退出关卡 */
        ExitStage,
        /** 显示广告按钮 */
        ShowAdButton,
        /** 点击广告 */
        ClickAd,
        /** 展示广告 */
        ShowAd,
        /** 完整观看广告 */
        CompleteAd,

        // 游戏功能日志
        FeedAnimal,
        LvupSpd,

        // 实验组
        UpdateExptParams,

    }

    /**游戏框架事件 */
    export enum GameEvents {
        Index = 1000,

        //主要流程

        /**初始场景加载完成 */
        InitLoadFinished,
        /**初始化完成 */
        InitFinished,

        GameStart,             //游戏开始
        /** 游戏关卡资源加载完成 */
        GameLoadFinish,
        GameRun,               //运行游戏
        GamePause,             //暂停游戏
        GameResume,            //继续游戏
        GameOver,              //游戏结束
        BackHome,              //游戏中返回主页
        //框架UI控制
        /** 设置initPanel 显隐 */
        SetInitUIEnable,       //
        HideInitInfo,          //隐藏初始化信息
        /** 设置关卡管理器显隐, 用于触发 启动和重置 关卡流程 */
        SetLevelManagerEnable,
        SetGameTimeScale,      //设置dt缩放 
        /** 通知存储信息变更 用于UI数据同步显示   */
        UserAssetsChanged,
        // 设置全局 TouchMask 显隐  
        SetTouchMaskEnable,
        LoadSubPkg,            //动态加载分包资源
        //-- 主页显示3D场景的事件
        LoadGameBound,         //只加载游戏资源
        SetHome3dSceneEnable,    //显示/隐藏主页3d场景

        ShowTips,              //提示信息
        /** UI层级变化 */
        UIChanged,

        // 游戏逻辑事件
        EnterChooseLv,         //进入指定关卡
    }
    /**游戏中的触摸事件 */
    export enum TouchEvents {
        Index = 1100,
        /** 3d 游戏中的触摸 */
        SetTouchEnable,
        //获取UI坐标系下的触点
        TouchStart,
        TouchMove,
        TouchEnd,
        //触摸对象
        TouchStartObj,
        TouchMoveObj,
        TouchEndObj,

        // 手势
        PinchGestureStart,          //手势缩放-增量变化
        PinchGestureEnd,            //手势缩放-增量变化
        PinchGestureMove,           //手势缩放-增量变化
        RotateGesture,         //手势旋转-增量变化
    }
    /**游戏中的相机事件 */
    export enum CameraEvents {
        Index = 1200,
        SetCameraPos,   //直接设置坐标
        SetFollowPos,   //设置跟随的坐标
        SetCameraSelfRot,   //设置相机本身的旋转
        SetCameraSelfPos,   //设置相机本身的位置
        SetCameraSelfOffset,//设置相机本身的位置偏移
        SetCameraOrthoHeightOffset,   //设置相机正交视角的视野高度偏移

        // 截屏 - 截屏获取的spriteFrame 需要自己引用计数->释放 addRef()/ decRef()
        ScreenShot,
    }
    /**UI 事件 */
    export enum UIEvents {
        Index = 1300,
        PrivacyConfirm, //同意隐私政策
        AddGoldEffect,  //添加金币动画
        ShowCutEnergyAnim,  //扣除体力动画
        ShowTestBanner,
        //
        ShowTouchMask,  //显示触摸蒙版
        HideTouchMask,  //隐藏触摸蒙版

        // 矩形触摸遮罩 SpriteMaskCmp
        ShowSpriteMask,  //显示蒙版
        HideSpriteMask,  //隐藏蒙版
        OnTouchSpriteMaskBlock, //触摸蒙版遮罩区域
        // 圆形触摸遮罩 
        CircleMaskReady,  //圆形蒙版准备ok
        ShowCircleMask,  //显示圆形蒙版
        HideCircleMask,  //隐藏圆形蒙版
        // Loading
        ShowLoadingExitAnim,    //显示退出动画    
        ShowLoadingMsg,        //显示加载信息    
    }

    /**地图网格测试 */
    export enum GridMapEvents {
        Index = 2000,
        HideMapGrid,
    }

    //#region -------------------自定义----------------
    //关卡流程事件
    export enum CurLevelEvents {
        Index = 2050,
        //        
      
    }

    /** 角色对应的事件*/
    export enum RoleEvents {
        Index = 2300,

    }

    /**特效事件 */
    export enum EffectEvents {
        Index = 2400,
        ShowBoomErea,       //爆炸区域
        ShowEmoji,          //显示表情
        ShowTrail,          //显示拖尾
        HideTrail,          //隐藏拖尾
        //2d特效 带2d动画组件 
        show3DTo2DAnimationEffect,
        //UI动画-带2d动画组件
        showUIAnimationEffect,
        //3d
        showParticleEffect,
        showMergeEffect,
        //2dUI效果- 无需动画组件
        showUIEffect,
        //3d位置->2d位置 -无需动画组件
        show3dToUIEffect,

    }

    /**敌人事件 */
    export enum EnemyEvents {
        Index = 2500,
    }

    export enum HomeUIEvents {
        Index = 2600,

    }

    export enum GuideUIEvents {
        Index = 2800,
        // 引导步骤完成
        GuideStepFinish,
        // 
        PlayYesAudio,
    }

    /**签到事件 */
    export enum SignUIEvents {
        Index = 3000,
        // 签到成功 
        SignSuccess,
    }

    /** 任务事件 */
    export enum MissionUIEvents {
        Index = 3200,
        // 刷新显示
        RefreshInfo,
        // 任务奖励点击
        MissionAwardClick,
        //         
    }

    /** HomeScene */
    export enum HomeSceneEvents {
        Index = 3300,
        //
        SetCameraPos,            //设置相机位置
        
    }

    //#endregion
}

